package com.huangyi.adminservice.house.service.filter;


import com.huangyi.adminapi.house.domain.dto.SearchHouseListReqDTO;
import com.huangyi.adminservice.house.domain.dto.HouseDTO;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;

/**
 * 出租类型筛选策略实现类
 * 
 * <p>根据出租类型对房源进行筛选，支持多种出租类型同时筛选
 * 
 * @author huangyi
 * @version 1.0
 * @since 2024
 */
@Component
public class RentTypesFilter implements IHouseFilter{
    
    /**
     * 根据出租类型过滤房源
     * 
     * @param houseDTO 待过滤的房源信息
     * @param reqDTO 搜索请求参数，包含出租类型筛选条件
     * @return true-通过过滤，false-被过滤掉，null-不进行过滤
     */
    @Override
    public Boolean filter(HouseDTO houseDTO, SearchHouseListReqDTO reqDTO) {
        return CollectionUtils.isEmpty(reqDTO.getRentTypes())
                || reqDTO.getRentTypes().contains(houseDTO.getRentType());
    }
}
